home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / gcc / ixemsdk.lha / man / cat3 / stdio.0 < prev    next >
Text File  |  1996-09-02  |  8KB  |  162 lines

  1.  
  2. STDIO(3)                   UNIX Programmer's Manual                   STDIO(3)
  3.  
  4. NNAAMMEE
  5.      ssttddiioo - standard input/output library functions
  6.  
  7. SSYYNNOOPPSSIISS
  8.      ##iinncclluuddee <<ssttddiioo..hh>>
  9.      FFIILLEE **ssttddiinn;;
  10.      FFIILLEE **ssttddoouutt;;
  11.      FFIILLEE **ssttddeerrrr;;
  12.  
  13. DDEESSCCRRIIPPTTIIOONN
  14.      The standard I/O library provides a simple and efficient buffered stream
  15.      I/O interface.  Input and output is mapped into logical data streams and
  16.      the physical I/O characteristics are concealed. The functions and macros
  17.      are listed below; more information is available from the individual man
  18.      pages.
  19.  
  20.      A stream is associated with an external file (which may be a physical de-
  21.      vice) by _o_p_e_n_i_n_g a file, which may involve creating a new file. Creating
  22.      an existing file causes its former contents to be discarded.  If a file
  23.      can support positioning requests (such as a disk file, as opposed to a
  24.      terminal) then a _f_i_l_e _p_o_s_i_t_i_o_n _i_n_d_i_c_a_t_o_r associated with the stream is
  25.      positioned at the start of the file (byte zero), unless the file is
  26.      opened with append mode. If append mode is used, the position indicator
  27.      will be placed the end-of-file.  The position indicator is maintained by
  28.      subsequent reads, writes and positioning requests. All input occurs as if
  29.      the characters were read by successive calls to the fgetc(3) function;
  30.      all output takes place as if all characters were read by successive calls
  31.      to the fputc(3) function.
  32.  
  33.      A file is disassociated from a stream by _c_l_o_s_i_n_g the file.  Output
  34.      streams are flushed (any unwritten buffer contents are transferred to the
  35.      host environment) before the stream is disassociated from the file.  The
  36.      value of a pointer to a FILE object is indeterminate after a file is
  37.      closed (garbage).
  38.  
  39.      A file may be subsequently reopened, by the same or another program exe-
  40.      cution, and its contents reclaimed or modified (if it can be repositioned
  41.      at the start).  If the main function returns to its original caller, or
  42.      the exit(3) function is called, all open files are closed (hence all out-
  43.      put streams are flushed) before program termination.  Other methods of
  44.      program termination, such as abort(3) do not bother about closing files
  45.      properly.
  46.  
  47.      This implementation needs and makes no distinction between ``text'' and
  48.      ``binary'' streams.  In effect, all streams are binary.  No translation
  49.      is performed and no extra padding appears on any stream.
  50.  
  51.      At program startup, three streams are predefined and need not be opened
  52.      explicitly:
  53.            ++oo   _s_t_a_n_d_a_r_d _i_n_p_u_t (for reading conventional input),
  54.            ++oo   _s_t_a_n_d_a_r_d _o_u_t_p_u_t (for writing conventional output), and
  55.            ++oo   _s_t_a_n_d_a_r_d _e_r_r_o_r (for writing diagnostic output).
  56.      These streams are abbreviated _s_t_d_i_n, _s_t_d_o_u_t and _s_t_d_e_r_r. Initially, the
  57.      standard error stream is unbuffered; the standard input and output
  58.      streams are fully buffered if and only if the streams do not refer to an
  59.      interactive or ``terminal'' device, as determined by the isatty(3) func-
  60.      tion.  In fact, _a_l_l freshly-opened streams that refer to terminal devices
  61.      default to line buffering, and pending output to such streams is written
  62.      automatically whenever an such an input stream is read.  Note that this
  63.      applies only to ``true reads''; if the read request can be satisfied by
  64.      existing buffered data, no automatic flush will occur.  In these cases,
  65.      or when a large amount of computation is done after printing part of a
  66.      line on an output terminal, it is necessary to fflush(3) the standard
  67.      output before going off and computing so that the output will appear.
  68.      Alternatively, these defaults may be modified via the setvbuf(3) func-
  69.      tion.
  70.  
  71.      The ssttddiioo library is a part of the library libc and routines are automat-
  72.      ically loaded as needed by the compilers cc(1) and pc(1).  The SYNOPSIS
  73.      sections of the following manual pages indicate which include files are
  74.      to be used, what the compiler declaration for the function looks like and
  75.      which external variables are of interest.
  76.  
  77.      The following are defined as macros; these names may not be re-used with-
  78.      out first removing their current definitions with #undef: BUFSIZ, EOF,
  79.      FILENAME_MAX, L_cuserid, L_ctermid, L_tmpnam, NULL, SEEK_END, SEEK_SET,
  80.      SEE_CUR, TMP_MAX, clearerr, feof, ferror, fileno, freopen, fwopen, getc,
  81.      getchar, putc, putchar, stderr, stdin, stdout. Function versions of the
  82.      macro functions feof,  ferror,  clearerr,  fileno,  getc,  getchar,
  83.      putc,  and putchar exist and will be used if the macros definitions are
  84.      explicitly removed.
  85.  
  86. SSEEEE AALLSSOO
  87.      open(2),  close(2),  read(2),  write(2)
  88.  
  89. BBUUGGSS
  90.      The standard buffered functions do not interact well with certain other
  91.      library and system functions, especially vfork and abort.
  92.  
  93. SSTTAANNDDAARRDDSS
  94.      The ssttddiioo library conforms to ANSI C3.159-1989 (``ANSI C'').
  95.  
  96. LLIISSTT OOFF FFUUNNCCTTIIOONNSS
  97.      FFuunnccttiioonn       DDeessccrriippttiioonn
  98.      clearerr       check and reset stream status
  99.      fclose         close a stream
  100.      fdopen         stream open functions
  101.      feof           check and reset stream status
  102.      ferror         check and reset stream status
  103.      fflush         flush a stream
  104.      fgetc          get next character or word from input stream
  105.      fgetln         get a line from a stream
  106.      fgetpos        reposition a stream
  107.      fgets          get a line from a stream
  108.      fileno         check and reset stream status
  109.      fopen          stream open functions
  110.      fprintf        formatted output conversion
  111.      fpurge         flush a stream
  112.      fputc          output a character or word to a stream
  113.      fputs          output a line to a stream
  114.      fread          binary stream input/output
  115.      freopen        stream open functions
  116.      fropen         open a stream
  117.      fscanf         input format conversion
  118.      fseek          reposition a stream
  119.      fsetpos        reposition a stream
  120.      ftell          reposition a stream
  121.      funopen        open a stream
  122.      fwopen         open a stream
  123.      fwrite         binary stream input/output
  124.      getc           get next character or word from input stream
  125.      getchar        get next character or word from input stream
  126.      gets           get a line from a stream
  127.      getw           get next character or word from input stream
  128.      mkstemp        create unique temporary file
  129.      mktemp         create unique temporary file
  130.      perror         system error messages
  131.      printf         formatted output conversion
  132.      putc           output a character or word to a stream
  133.      putchar        output a character or word to a stream
  134.      puts           output a line to a stream
  135.      putw           output a character or word to a stream
  136.      remove         remove directory entry
  137.      rewind         reposition a stream
  138.      scanf          input format conversion
  139.      setbuf         stream buffering operations
  140.      setbuffer      stream buffering operations
  141.      setlinebuf     stream buffering operations
  142.      setvbuf        stream buffering operations
  143.      snprintf       formatted output conversion
  144.      sprintf        formatted output conversion
  145.      sscanf         input format conversion
  146.      strerror       system error messages
  147.      sys_errlist    system error messages
  148.      sys_nerr       system error messages
  149.      tempnam        temporary file routines
  150.      tmpfile        temporary file routines
  151.      tmpnam         temporary file routines
  152.      ungetc         un-get character from input stream
  153.      vfprintf       formatted output conversion
  154.      vfscanf        input format conversion
  155.      vprintf        formatted output conversion
  156.      vscanf         input format conversion
  157.      vsnprintf      formatted output conversion
  158.      vsprintf       formatted output conversion
  159.      vsscanf        input format conversion
  160.  
  161. 4th Berkeley Distribution       April 19, 1994                               3
  162.